package com.sgcc.statistics.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sgcc.common.core.annotation.Excel;
import com.sgcc.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 服务成效指标维护对象 o_service_index
 * 
 * @author sgcc
 * @date 2021-03-18
 */
public class OServiceIndex extends BaseEntity implements  Comparable<OServiceIndex>
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 指标分类 */
    @Excel(name = "指标分类")
    private String type;

    /** 指标编号 */
    @Excel(name = "指标编号")
    private String code;

    /** 指标名称 */
    @Excel(name = "指标名称")
    private String name;

    /** 权重 */
    @Excel(name = "权重")
    private BigDecimal weight;

    /** 达标值 */
    @Excel(name = "达标值")
    private BigDecimal target;

    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "达标值", width = 30, dateFormat = "yyyy-MM-dd  HH:mm:ss")
    private Date createDate;

    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "达标值", width = 30, dateFormat = "yyyy-MM-dd  HH:mm:ss")
    private Date updateDate;

    /** 逻辑删除标记（0：显示；1：隐藏） */
    private String delFlag;




    private String deptName;//供电单位名称
    private String targetStr;//达标值百分数
    private String realValueStr;//实际值百分数
    private Boolean reach;//是否达标



    private String statTime;
    private boolean county;
    private String authNo;
    private String deptNo;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setCode(String code) 
    {
        this.code = code;
    }

    public String getCode() 
    {
        return code;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setWeight(BigDecimal weight) 
    {
        this.weight = weight;
    }

    public BigDecimal getWeight() 
    {
        return weight;
    }
    public void setTarget(BigDecimal target) 
    {
        this.target = target;
    }

    public BigDecimal getTarget() 
    {
        return target;
    }
    public void setCreateDate(Date createDate) 
    {
        this.createDate = createDate;
    }

    public Date getCreateDate() 
    {
        return createDate;
    }
    public void setUpdateDate(Date updateDate) 
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate() 
    {
        return updateDate;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getStatTime() {
        return statTime;
    }

    public void setStatTime(String statTime) {
        this.statTime = statTime;
    }

    public boolean isCounty() {
        return county;
    }

    public void setCounty(boolean county) {
        this.county = county;
    }

    public String getAuthNo() {
        return authNo;
    }

    public void setAuthNo(String authNo) {
        this.authNo = authNo;
    }

    public String getDeptNo() {
        return deptNo;
    }

    public void setDeptNo(String deptNo) {
        this.deptNo = deptNo;
    }

    public String getTargetStr() {
        return targetStr;
    }

    public void setTargetStr(String targetStr) {
        this.targetStr = targetStr;
    }

    public String getRealValueStr() {
        return realValueStr;
    }

    public void setRealValueStr(String realValueStr) {
        this.realValueStr = realValueStr;
    }

    public Boolean getReach() {
        return reach;
    }

    public void setReach(Boolean reach) {
        this.reach = reach;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("type", getType())
            .append("code", getCode())
            .append("name", getName())
            .append("weight", getWeight())
            .append("target", getTarget())
            .append("createBy", getCreateBy())
            .append("createDate", getCreateDate())
            .append("updateBy", getUpdateBy())
            .append("updateDate", getUpdateDate())
            .append("delFlag", getDelFlag())
            .toString();
    }

    @Override
    public int compareTo(OServiceIndex o) {
        return this.deptNo.compareTo(o.deptNo);
    }
}
